//package com.stylefeng.guns.modular.model.utils;
//
//import java.io.IOException;
//import java.util.HashMap;
//import java.util.Map;
//
//import javax.servlet.http.HttpServletRequest;
//
//import org.codehaus.jackson.map.ObjectMapper;
//import org.slf4j.Logger;
//import org.slf4j.LoggerFactory;
//import org.weixin4j.WeixinException;
//import org.weixin4j.WeixinSupport;
//import org.weixin4j.http.HttpsClient;
//import org.weixin4j.http.Response;
//
//import cn._2vin.user.utils.weixin.vo.OAuthJsToken;
//
//public class WeixinUtils extends WeixinSupport{
//    private Logger logger = LoggerFactory.getLogger(getClass());
//
//    private static final String appid = "wxb6cc5d0abb738203";	    //微信小程序appid
//    private static final String secret = "38816821785ae37f8b3cc131fd7e2c35";	//微信小程序密钥
//    private static final String grant_type = "authorization_code";
//
//    public String login(String code, HttpServletRequest request) throws WeixinException, IOException {
//        if (code == null || code.equals("")) {
//            throw new WeixinException("invalid null, code is null.");
//        }
//
//        Map<String, Object> ret = new HashMap<String, Object>();
//        //拼接参数
//        String param = "?grant_type=" + grant_type + "&appid=" + appid + "&secret=" + secret + "&js_code=" + code;
//
//        //创建请求对象
//        HttpsClient http = new HttpsClient();
//        //调用获取access_token接口
//        Response res = http.get("https://api.weixin.qq.com/sns/jscode2session" + param);
//        //根据请求结果判定，是否验证成功
//        com.alibaba.fastjson.JSONObject jsonObj = res.asJSONObject();
//        OAuthJsToken oauthJsToken = new OAuthJsToken();
//        if (jsonObj != null) {
//            Object errcode = jsonObj.get("errcode");
//            if (errcode != null) {
//                //返回异常信息
//                throw new WeixinException(getCause(Integer.parseInt(errcode.toString())));
//            }
//
//            ObjectMapper mapper = new ObjectMapper();
//           // OAuthJsToken
//            oauthJsToken = mapper.readValue(jsonObj.toString(),OAuthJsToken.class);
//
//
//            logger.info("openid=" + oauthJsToken.getOpenid());
//            ret.put("openid", oauthJsToken.getOpenid());
//        }
//        String openid=oauthJsToken.getOpenid();
//		return openid;
//    }
//
//
//}
